#pragma once
#include "wbemcli.h"
#include "WMIEventSink.h"

#define WM_MYWMIMSG (WM_USER+1)

#define WMIMSG_INDICATE   1
#define WMIMSG_STATUS_COMPLETE 2
#define WMIMSG_STATUS_IN_PROGRESS 3

class CACPIEventSink :
  public CWMIEventSink
{
public:
  CACPIEventSink(void);
  CACPIEventSink(HWND hWnd);
  virtual ~CACPIEventSink(void);

  virtual HRESULT STDMETHODCALLTYPE Indicate( 
          LONG lObjectCount,
          IWbemClassObject __RPC_FAR *__RPC_FAR *apObjArray
          );
      
  virtual HRESULT STDMETHODCALLTYPE SetStatus( 
          /* [in] */ LONG lFlags,
          /* [in] */ HRESULT hResult,
          /* [in] */ BSTR strParam,
          /* [in] */ IWbemClassObject __RPC_FAR *pObjParam
          );

protected:
  HWND m_hMsgWnd;
};
